Infiniband (IB) is a high speed interconnect with fabrics consisting of switches and channel adapters. The channel adapters are devices that generate and consume packets sent and received over a port connected to the Infiniband fabric. Channel adapters connect end nodes to the fabric. The switches are used to route packets over the fabric to and from the channel adapters. Switches may have up to 255 ports wherein every port on a switch has the same vendor assigned globally unique identifier (GUID). A channel adapter may also have up to 254 ports but every port on the channel adapter has one vendor assigned unique globally unique identifier (GUID). The vendor assigned GUIDs are referred to as base GUIDs and a node may have one or more software assigned GUIDs. This invention pertains to the uniqueness, or the lack thereof, of the base GUIDs and all further references to GUID in this invention refer to the base GUID. The GUIDs function like Ethernet MACs, and are used in the routing of packet over the fabric.
A grouping of nodes interconnected using channel adapters and switches may be referred to as a subnet. A subnet is further provided under the Infiniband architecture with a Subnet Manager to maintain the topology of a subnet between channel adapters for the purpose of routing packets. The subnet manager does this by keeping track of all the channel adapters and switches that make up the subnet as well as their interconnections. As part of this process, the Subnet manager performs discoveries on the subnet to determine the current configuration of the subnet. The GUIDs are used to identify the individual switches and ports on the subnet. The assignment of base GUIDs to nodes is under vendor's control and erroneous assignment of duplicate GUIDs compromises routing and management of the subnet.
Furthermore, changing GUIDs can be as easy as updating the firmware. Duplicate GUIDs can cause major problems for routing algorithms and Infiniband applications. Therefore, a method is needed for detecting two or more channel adapter ports which have the same GUID.